#ifndef __ABSTRACT_SCENE_OBJECT_HH__
#define __ABSTRACT_SCENE_OBJECT_HH__

/**
 * @author Olgierd Humenczuk olgierdh@gmail.com
 */

#include <boost/shared_ptr.hpp>
#include <boost/tuple/tuple.hpp>

template< typename Tuple >
class AbstractSceneObject;

/**
 * @brief Abstract scene object declaration
 */
class AbstractSceneObject
{
public:
    typedef boost::shared_ptr< AbstractSceneObject >        Ptr;
    typedef boost::shared_ptr< const AbstractSceneObject >  PtrC;

public:
    /**
     * @brief Default ctor.
     */
    AbstractSceneObject( void );
    
    /**
     * @brief Default dtor.
     */
    virtual ~AbstractSceneObject( void );
};

#endif
